This disclosure relates to data processing and storage, and more specifically, to extending the useful life of a non-volatile memory, such as a flash memory, by health grading.
Flash memory is a non-volatile memory technology that stores one or more bits of data per memory cell as a charge on the floating gate of a transistor. As cell densities and the number of bits stored per cell in flash memory continue to increase in subsequent generations of flash technology, the data stored in the memory cells to become more vulnerable to bit errors induced by read disturbs, high ambient temperatures, long storage durations and other factors. Consequently, the number of read/write cycles for which flash memories are rated have generally been declining even while storage density and cost per unit of data have been improving.
To obtain the longest useful life from a given flash memory various techniques have been proposed. In general, it has been presumed that the longest useful life is obtained by so-called “wear leveling,” which is defined as equalizing the number of program/erase cycles across all blocks of physical memory in a flash memory array. As discussed further herein, the present disclosure appreciates that reliance on wear leveling alone does not achieve optimum memory lifetimes.